/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Facade.Helpers;


import java.util.Properties;
import java.util.TreeMap;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

/**
 *
 * @author Eol
 */
public class ServiceMail {

    public ServiceMail() {
    }
    
    
    private static String sendMail(String destinatario, String asunto, String contenido) {
        try{

        Properties props = new Properties();
        // Nombre del host de correo, es smtp.gmail.com
        props.setProperty("mail.smtp.host", "smtp.gmail.com");
        // TLS
        props.setProperty("mail.smtp.starttls.enable", "true");
        // Puerto de gmail para envio de correos
        props.setProperty("mail.smtp.port","587");
        // Nombre del usuario
        props.setProperty("mail.smtp.user", "gestionando.manu@gmail.com");
        // Si requiere o no usuario y password para conectarse.
        props.setProperty("mail.smtp.auth", "true");
        Session session = Session.getDefaultInstance(props);
        //session.setDebug(true);
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress("gestionando.manu@gmail.com"));
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(destinatario));
        message.setSubject(asunto);

        MimeMultipart multipart = new MimeMultipart("related");

        // first part  (the html)
        BodyPart messageBodyPart = new MimeBodyPart();
        String htmlText = contenido;
        messageBodyPart.setContent(htmlText, "text/html");

        multipart.addBodyPart(messageBodyPart);

        message.setContent(multipart);
        //message.setText(contenido);
        Transport t = session.getTransport("smtp");
        t.connect("gestionando.manu@gmail.com","manu1358");
        t.sendMessage(message,message.getAllRecipients());
        return "Mensaje envíado exitosamente";

      }
      catch( MessagingException e )
      {
          //Pase por aquí
           return "Error" + e.getLocalizedMessage();
      }
  }
    
    public static String sendInvitation(TreeMap listCollaborators, String nameManager){
        try{
            while(!listCollaborators.isEmpty()){
                String correo = (String)listCollaborators.lastKey(); 
                String password = (String)listCollaborators.get(correo);
                String mensaje = new String();
//                mensaje = "<H1>Hello</H1>/n "
//                        + "Gracias por aceptar vincularte a esta fantástica oportunidad de\n"+
//                  "gestionar tus proyecto con manu. \nHas sido invitado por " + nameManager + 
//                  " a vincularte\n a sus proyectos.\n Ingresa con tu correo y regístrate"+
//                  "para empezar a disfrutar de Manü. Se te ha asignado una contraseña temporal:\n"+
//                   password;
                mensaje = "<table border='0' style='background: white; width: 500px; margin: 20px; padding: 15px;' cellpadding='15'>  "
                        + "  <tr>        <td><h3>Has sido invitado a participar en un grandioso proyecto!</h3></td>       "
                        + " <td><img src='http://www.auditorias-sym.com/juegosG/img/manuLogo.png' border='0'></td>    </tr>  "
                        + "  <tr>        <td colspan='2'>            <p style='text-align: justify;'>Gracias por aceptar vincularte a esta fant&aacute;stica oportunidad de gestionar tus proyecto con manu.<br/>"
                        + "Has sido invitado por <b>"+ nameManager +"</b> a vincularte a sus proyectos.</p>        "
                        + "    <p style='text-align: justify;'>Ingresa con tu correo y reg&iacute;strate para empezar a disfrutar de Man&uuml;.</p>         "
                        + "   <p style='text-align: justify;'>Se te ha asignado una contrase&ntilde;a temporal: <b>" + password +"</b></p>"
                        + " <a href=http://www.google.com/> Ingresa Aqui!</a>        </td>    </tr></table>";
                sendMail(correo,"Invitación Manü", mensaje);
                listCollaborators.remove(correo);
                
                
            }
            return "Mensaje enviado exitosamente";
        }catch(Exception e){
            return "Lo sentimos, esto no debería estar pasando, pero pasó";
        }
    }
}
